home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / c64 / programming / atbasic.lzh / atbasic / src / SBH 5.3 .S 2,P (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1996-03-04  |  2.7 KB  |  71 lines

  1. 10 ;:;******** lomem:;
  2. 20 lomem jsr getint:lda intadr+1:cmp 56:bcc lmok:bne lmerr:lda intadr:cmp 55
  3. 25 bcc lmok:lmerr jmp $a435
  4. 30 lmok lda intadr:sta 43:clc:adc #$ff:sta intadr
  5. 31 lda intadr+1:sta 44:adc #$ff:sta intadr+1
  6. 32 lda #0:tay:sta (intadr),y:jmp $a644
  7. 34 ;:;******** (NULL):;
  8. 35 himem jsr getint:lda 46:cmp intadr+1:bcc hmok:bne lmerr:lda 45:cmp intadr
  9. 40 bcs lmerr:hmok lda intadr:sta 55:sta $0283
  10. 50 lda intadr+1:sta 56:sta $0284:jmp $a663
  11. 90 ;:;******** doke:;
  12. 100 doke jsr getint:lda intadr:sta flagfb
  13. 110 lda intadr+1:sta flagfb+1
  14. 120 jsr getkint
  15. 130 ldy #0:lda intadr:sta (flagfb),y
  16. 140 iny:lda intadr+1:sta (flagfb),y:rts
  17. 150 ;:;******** deek:;
  18. 160 deek jsr $ad8d:lda intadr+1:pha:lda intadr:pha
  19. 170 jsr $b7f7:ldy #1:lda (intadr),y:sta $62:dey:lda (intadr),y
  20. 180 sta $63:pla:sta intadr:pla:sta intadr+1:ldx #$90:sec:jmp $bc49
  21. 200 ;:;******** hex$:;
  22. 210 hex lda intadr+1:pha:lda intadr:pha:jsr $ad8d:jsr $b7f7
  23. 220 lda #4
  24. 230 jsr $b47d:ldy #3:lda intadr:jsr hexnib:lda intadr
  25. 240 lsr:lsr:lsr:lsr:dey:jsr hexnib:dey
  26. 250 lda intadr+1:jsr hexnib:lda intadr+1:lsr:lsr:lsr:lsr:dey:jsr hexnib
  27. 260 pla:sta intadr:pla:sta intadr+1:jmp $b4ca
  28. 270 hexnib and #15:cmp #10:bcc hen1:clc:adc #7
  29. 280 hen1 clc:adc #"0":sta ($62),y:rts
  30. 290 ;:;******** bin$
  31. 300 bin jsr $b7a1
  32. 310 txa:pha:lda #8:jsr $b47d:pla
  33. 320 ldy #7:bin1 jsr binbit:dey:bpl bin1
  34. 330 jmp $b4ca
  35. 340 binbit pha:and #1:clc:adc #"0":sta ($62),y:pla:lsr:rts
  36. 10000 ;:;******** arithm. ausdruck holen
  37. 10010 v030a lda #0:sta $0d:jsr chrget
  38. 10020 bcs l48a:jmp $bcf3
  39. 10030 l48a cmp #lastcode:bcc l48a1:cmp #codoff:bcs l48a1
  40. 10040 cmp #codtime:bne l48a2:jsr chrget:jmp time
  41. 10050 l48a2 sec:sbc #lastcode:asl:pha:jsr chrget:jsr $aef1
  42. 10060 pla:tax:lda funktab,x:sta $55:lda funktab+1,x:sta $56
  43. 10070 jmp $0054
  44. 10080 l48a1 jsr $b113
  45. 10090 bcs l48b:cmp #"$":beq dechex:cmp #"%":beq decbin1
  46. 10100 jmp $ae9a:l48b jsr chr(NULL)t
  47. 10110 cmp #"d":beq l48c:l48d jmp $af28
  48. 10120 l48c ldy #0:jsr achr:cmp #"s":bne l48d
  49. 10130 jsr $b08b:lda $0d:beq l48e:jmp dsstr:l48e jmp dsfac
  50. 10140 achr iny:lda (zeibas),y:cmp #" ":beq achr:rts
  51. 10150 decbin1 jmp decbin
  52. 10160 ;:;******** hexadez. ausdruck holen:;
  53. 10170 dechex lda intadr:pha:lda intadr+1:pha
  54. 10171 ldy #1:lda #0:sta intadr:sta intadr+1
  55. 10175 hex1 lda (zeibas),y:jsr decnib:bcs hexend
  56. 10180 pha:lda #16:jsr mult8:pla:clc:adc intadr:sta intadr:iny:cpy #5:bcc hex1
  57. 10220 hexend lda intadr:sta $63:lda intadr+1:sta $62:pla:sta intadr+1
  58. 10221 pla:sta intadr
  59. 10222 tya:clc:adc zeibas:sta zeibas:bcc dec2:inc zeibas+1
  60. 10230 dec2 ldx #$90:sec:jmp $bc49
  61. 10240 decnib sec:sbc #"0":cmp #10:bcc dec1:sec:sbc #7:dec1 cmp #16
  62. 10250 rts
  63. 10260 ;:;******** binaeren ausdruck holen:;
  64. 10270 decbin lda #0:sta $63:sta $62
  65. 10272 ldy #1:deb1 lda (zeibas),y:jsr decbit:bcs binend
  66. 10274 iny:cpy #17:bcc deb1
  67. 10280 binend tya:clc:adc zeibas:sta zeibas:bcc deb2:inc zeibas+1
  68. 10290 deb2 jmp dec2
  69. 10300 decbit sec:sbc #"0":cmp #2:bcc deb3:rts
  70. 10310 deb3 lsr:rol $63:rol $62:clc:rts
  71.